; ModuleID = 'assign.c'
source_filename = "assign.c"
; target的开始
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"
;target的结束

; 全局main函数的定义
define dso_local i32 @main() #0{
	;第一个基本块的开始
	;语句：int a[10];创建空间，并返回指针
	%1 = alloca [10 x i32]	
	
	;语句：a[0] = 10;获取a[0]指针
	%2 = getelementptr inbounds [10 x i32], [10 x i32]* %1, i64 0, i64 0
	; 将10存入a[0]中
	store i32 10, i32* %2
	
	;语句：a[1] = a[0] * 2;
	%3 = load i32, i32* %2	; 取出a[0],存到%3中
	%4 = mul i32 %3, 2		; 将值乘以2，存在%4中
	%5 = getelementptr inbounds [10 x i32], [10 x i32]* %1, i64 0, i64 1	;获取a[1]指针
	store i32 %4, i32* %5	; 写入a[1]中
	
	; 语句：return a[1]
	ret i32 %4				; 将a[0]返回
}

